Data communication networks were popularized with the advent of electronic computers and the development of digital signal processing techniques. A typical data communication network is interconnected with a plurality of data transmitting aand receiving devices by associated interfaces. The data network typically comprises a bidirectional communication bus which provides a medium for data transmission between the transmitting and receiving devices. It is known to use packet-type data transmissions for the communication network. The data transmitting and receiving devices connected to the network or bus via an interface may comprise intelligent or non-intelligent terminals, host computers, digital station sets and personal computers. One or more devices may connect to a single interface, and the interface connects to the communication bus. The interface processes incoming and outgoing packet data transmissions to and from its associated devices.
A problem with the above-described data network is that the network may be subject to periods of high traffic since a number of transmitting and receiving devices may be transmitting data packets concurrently. Several schemes have been proposed to alleviate the traffic problem. One scheme utilizes "windowing" arrangements to control the flow of data packets to the network. In windowing, a transmitting device requests network access via its interface to transmit a data message over the bus. A processor in the interface responds to the request and determines the number of data packets comprising the anticipated data message. The number of data packets define the amount of interface buffer space required to serve the data transmission session. This amount of buffer space is identified as a "window". Following a determination of the window required to accommodate the number of outstanding packets that may be extant, the processor scans the buffer in the interface. If the buffer contains sufficient space to accommodate the requested window, the processor allocates that amount of space and then prompts the transmitting device to begin the session. The processor stores the received packets in the allowed buffer space and then transmits the stored packets over the bus. However, if the interface buffer contains insufficient space to accommodate the requested window size, the processor transmits an indication to the transmitting device to abandon the request, and retry at a latter time.
A disadvantage of the above-described flow control arrangement is that such an arrangement requires a substantial amount of interface processing time to perform the required and complex flow control operations. Processing time is utilized for the administration of the flow control function and for the repeated retransmission requests. Following a first rejected request, a transmitting device again requests network access to determine when the buffer can again accommodate the requested window size. Therefore, a transmitting device can generate several requests over a period of time before buffer space actually becomes available. This retransmission process wastes valuable processing time since each request requires separate processing to determine buffer capacity. The use of a substantial amount of processing time for repeated requests is not cost effective and is an inefficient use of the processor resource with respect to flow control operations.